package com.googlecode.marrowboy;

import java.util.regex.Pattern;

import com.googlecode.marrowboy.matchers.ContainsAllStrings;
import com.googlecode.marrowboy.matchers.RegexMatcher;

/**
 * Class to provide nice-looking methods to get the MarrowBoy matchers.
 * 
 * @author mjg
 */
public class MarrowBoyMatchers {

	/**
	 * Get a {@link RegexMatcher}
	 * 
	 * @param regex
	 *            The string to apply in tests
	 * @return the matcher
	 */
	public static RegexMatcher matchesRegex(String regex) {
		return new RegexMatcher(regex);
	}

	/**
	 * Get a {@link RegexMatcher}
	 * 
	 * @param regex
	 *            The {@link Pattern} to apply in tests
	 * @return the matcher
	 */
	public static RegexMatcher matchesRegex(Pattern regex) {
		return new RegexMatcher(regex);
	}

	/**
	 * Get a {@link ContainsAllStrings}
	 * 
	 * @param strings
	 *            the {@link String}s to match on
	 * @return the matcher
	 */
	public static ContainsAllStrings containsAllStrings(String... strings) {
		return new ContainsAllStrings(strings);
	}

}
